using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using RRHH.Competencias.DataAccessLayer;
using RRHH.Competencias.DataAccessLayer.Generic;

namespace RRHH.Competencias.Controladores
{
    /// <summary>
    /// Administra las operaciones asociadas a las busquedas genericas
    /// </summary>
    public class GestorBusquedaGenerica
    {
        private IDALBusquedaGenerica persistencia;
        

        public GestorBusquedaGenerica()
        {
            try
            {
                persistencia = DALProvider.GetDALBusquedaGenerica();
                
            }
            catch (Exception ex)
            {
                throw ex;
            }
            
        }

        /// <summary>
        /// Obtiene una tabla con el resultado de una consulta, segun los parametros indicados
        /// </summary>
        /// <param name="origenDatos">Origen de la informacion</param>
        /// <returns>DataTable con los datos que se ajustan a los parametros de busqueda. Datatable vacio si no hay resultados</returns>
        public DataTable ObtenerDataTableGenerico(string origenDatos)
        {
            if (string.IsNullOrEmpty(origenDatos)) throw new DALException("Debe indicar el origen de datos al que pertenece la consulta");

            return persistencia.ObtenerDataTableGenerico(origenDatos);
        }
    }
}
